Action Bar Tooltip Source Edit
Originally posted by Checkpointng Here is the code snip for ActionBar ToolTip, i got it stable as well as getting the right spell tooltip to show from any of the 3 actionbar slots! If your not sure what this does, take a look at this youtube video: http://www.youtube.com/watch?v=Ofbc4qt2CY4 This is code snip v1.0 as there is abit more tiddy up that can be done, but its stable enough for anyone to use and no longer causes MAV on empty slots. Usage: with Blitz3D open Client\Modules\Interface3D.bb and Find the snip below inside the UpdateInterace() Function ; Small (text only) tooltips If MilliSecs() - LastMouseMove > 1000 If WTooltip = 0 And LTooltip = 0 ; Action bar quick slots For i = 0 To 11 If GY_MouseHovering(BActionBar(i)) LTooltip = GY_CreateLabel(0, GY_MouseX# + 0.03, GY_MouseY#, "F" + Str$(i + 1) + " " + LanguageString$(LS_ToUse)) Goto TooltipsDone EndIf Next And Replace with this: ; Action Bar ToolTip If MilliSecs() - LastMouseMove > 1000 If WTooltip = 0 And LTooltip = 0 ; Action bar quick slots If ActionBarStart = 2 Offset = 12 ElseIf ActionBarStart = 3 Offset = 24 EndIf For i = 0 To 11 If GY_MouseHovering(BActionBar(i)) If ActionBarSlots(i + Offset) < 0 And ActionBarSlots(i + Offset) <> 0 If RequireMemorise Num = ActionBarSlots(i + Offset) + 10 Sp.Spell = SpellsList(Me\KnownSpells[Me\MemorisedSpellsNum]) Else Num = ActionBarSlots(i + Offset) + 1000 Sp.Spell = SpellsList(Me\KnownSpellsNum) EndIf If Sp <> Null X# = GY_MouseX# Y# = GY_MouseY# + 0.008 If Y# + 0.4 > 0.99 Then Y# = 0.59 If X# + 0.4 > 0.99 Then X# = 0.59 If LTooltip <> 0 Then GY_FreeGadget(LTooltip) : LTooltip = 0 WTooltip = GY_CreateWindow(Sp\Name$, X#, Y#, 0.4, 0.2, True, False, False) WTooltipReturn = WSpells Desc$ = Sp\Description$ If Desc$ = "" Then Desc$ = LanguageString$(LS_NoDescription) Y# = 0.01 ; Word wrap While Desc$ <> "" LDesc = GY_CreateLabel(WTooltip, 0.02, Y#, Desc$) Y# = Y# + 0.14 Gad.GY_Gadget = Object.GY_Gadget(LDesc) If GY_TextWidth#(Gad\EN, Desc$) >= 0.4 Split = False For i = Len(Desc$) To 1 Step -1 If Mid$(Desc$, i, 1) = " " If GY_TextWidth#(Gad\EN, Left$(Desc$, i - 1)) < 0.4 GY_UpdateLabel(LDesc, Left$(Desc$, i - 1)) Desc$ = Mid$(Desc$, i + 1) Split = True Exit EndIf EndIf Next If Split = False For i = Len(Desc$) To 1 Step -1 If GY_TextWidth#(Gad\EN, Left$(Desc$, i - 1)) < 0.4 GY_UpdateLabel(LDesc, Left$(Desc$, i - 1)) Desc$ = Mid$(Desc$, i) Exit EndIf Next EndIf Else Desc$ = "" EndIf Wend GY_GadgetAlpha(WTooltip, 0.85, True) EndIf Goto TooltipsDone EndIf EndIf Next BUG: Its not related to this snip, however its something i found when you empty a slot from the actionbar 2 or 3 by right click and then switch action bars and go back, it then seems to call ItemID 0 and displays that icon in its place. It doest cause MAV or anything, but its abit strange. Ill look further into it and see why it calls ItemID 0 when a slot is right click to empty in actionbars 2 and 3. Id like to also add if time permits the same function to items placed, i.e. potions, armor, weapons etc...